fix: report parent directory of input_path as last_directory #519
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
When yazi is started too late, it can happen that we don't know what the
last_directory was when yazi has exited. When this happens, yazi has
already reported its
cd
event beforeya
starts and yazi.nvim cannotcapture it.
The issue can be tracked in sxyazi/yazi#1314
Issue
Currently yazi.nvim works around this limitation by using the parent
directory of the input_path as the last_directory since it's a good guess.
However, it looks like this has never worked reliably due to a bug in the
implementation. The correct directory was calculated, but it was not
assigned to the last_directory field in the state - it was ignored and
had no effect.
Solution
Assign the correct directory to the last_directory field in the state.